/**
 * 1.这是我们书写的第一个文件，先来实现数据劫持，就是给对象的每个属性添加get与set
 * 这是响应式的前提
 */
function Vue(options) {
  this.$data = this._data = options.data

  // 调用一下observe函数，实现数据劫持
  observe(this.$data)
}

// 实现数据劫持 给对象的属性添加get与set方法
function observe(obj) {
  // 1. 先使用Object.keys获取传入进来的obj对象的所有的属性
  // Object.keys(obj) // ['msg','name','age']
  Object.keys(obj).forEach(key => {
    // 2. 给每一个属性添加get与set方法
    Object.defineProperty(obj, key, {
      get() {
        
      },
      set() {
        
      }
    })
  })
}


// const vm = new Vue({
//   el: '#app',
//   data: {
//     msg: 'hello vue',
//     name: 'jack',
//     age:20
//   }
// })